CLIM
Common Lisp Interface Manager
Version 2.0


C LIM, the Common Lisp Interface Manager, is a powerful high-level user interface management system for Common Lisp applications. CLIM allows developers to easily build and maintain applications that are portable to a variety of different window systems and toolkits. CLIM is the user interface standard for Common Lisp. Dynamic Object Language Labs (DOLL) is currently developing CLIM 2.0 for use with Franz, Inc's Allegro Common Lisp for Windows, for PC's running Microsoft® WindowsTM, Windows for Workgroups, Windows NT, and Windows 95. Franz and other Lisp vendors have versions of CLIM available for Unix workstations.

CLIM is layered on top of the host window system, and insulates the developer from the details and differences of the underlying toolkits. CLIM applications automatically adopt the native look and feel of the host window system, such as Motif, Apple® Macintosh®, Microsoft Windows and others. CLIM uses the toolkits directly, instead of emulating them, so it can easily take advantage of toolkit upgrades and enhancements.

CLIM provides a set of high-level facilities for building user interfaces. CLIM offers interaction styles such as command line, menu, direct manipulation and form-filling. These interaction styles can be used singly or in combination. CLIM supports the construction of sophisticated command line interfaces featuring completion, interactive prompting and help. CLIM also provides high-level constructs that make it easy to build direct manipulation interfaces without resorting to low-level event handling code.

A user interface can be specified concisely in terms of application objects and classes rather than specific widgets. CLIM will automatically select the appropriate toolkit component and connect it to the application, taking care of any conversion between application objects and toolkit objects. CLIM also allows the developer to override the default selection and specify the widget to use. This high-level specification allows the user interface to be portable and evolve without rewriting the applications code. CLIM applications can also be programmed at the widget level through a set of abstract widget classes portable across all window systems.

CLIM is implemented in CLOS (Common Lisp Object System) and can be easily extended by subclassing and specialization.

Key Benefits

Features

Graphics CLIM provides a rich set of graphics functions which implement a sophisticated abstract drawing model. CLIM provides full affine transforms, so that a drawing may be translated, rotated and scaled.

Windowing CLIM provides a portable layer for constructing and managing hierarchies of window objects. This layer also provides event management.

Output Recording CLIM provides a facility for capturing all output sent to a window. This facility provides support for arbitrarily scrollable windows and alleviates the need for applications to handle repaint events. In addition, this facility forms the basis for formatted output, incremental redisplay and context-sensitive input.

Incremental Redisplay This allows the efficient and easy updating of complex displays of data by only redisplaying those parts that have changed.

Context Sensitive Input The presentation type facility of CLIM proviudes the ability to associate semantics with output, such that objects may be retrieved later by selecting their displayed representation with the pointer. CLIM's presentation type system integrates and extends the Common Lisp type system.

Application Building CLIM provides a set of tools for defining an application's top-level user interface in terms of one or more frames. CLIM provides functionality for defining the layout of frames, and managing command menus and/or menu bars. CLIM provides a command processor which is responsible for reading and executing commands. Commands can be entered by using a combination of different styles, including the keyboard, mouse and menus.

Adaptive Toolkit CLIM provides a uniform interface to the standard compositional toolkits available in many environments. CLIM defines abstract panes that are analogous to the widgets of a toolkit like Motif.

Postscript Output The same CLIM functions that produce graphical and textual output in windows can be used to generate Postscript output.

Accepting-Values A powerful dialog construction mechanism that defines dialogs in terms of application classes. It allows easy creation of dialogs that change dynamically. Accepting-values automatically converts between application objects and toolkit objects, without the need for explicit widget creation or handling of callbacks.

Documentation

CLIM 2.1 User Guide for Allegro CL for Windows

System Requirements

CLIM on PC platforms requires the installation of Allegro CL for Windows 3.0, and 16 MB RAM, for good performance. Exact memory requirements will vary, depending on the individual application.

Ordering Information

CLIM 2.1 for Allegro CL for Windows is currently available from DOLL and Franz Inc. To contact DOLL for information or to purchase CLIM:

Dynamic Object Language Labs
9 Bartlet Street, Suite 334
Andover, MA 01810

(508) 372-7635
FAX (508) 475-7312
To DOLL's real home page
info@doll.com

To contact Franz for information or to purchase CLIM:

Franz Inc.
1995 University Avenue
Berkeley, CA 94704

(510) 548-3600
FAX (510) 548-8253
info@franz.com


Allegro CL, AllegroStore and Allegro Composer are registered trademarks and The Leader in Dynamic OOP is a trademark of Franz Inc. CLIM is a trademark of ILA. Microsoft is a registered trademark and Windows is a trademark of Microsoft Corporation. Apple and Macintosh are registered trademarks of Apple Computer. Motif is a trademark of Open Software Foundation. UNIX is a registered trademark of Novell-USG. All other trademarks are the property of their respective owners.

Copyright © 1995, Franz Inc. Used with permission.

Back